The present invention relates generally to network processing, and relates more particularly to the pre-fetching of local Domain Name System (DNS) entries. Specifically, the invention is a method and apparatus for DNS pre-fetching for multiple clients.
FIG. 1 is a schematic diagram illustrating a typical computing network 100. Network 100 comprises a local area network (LAN) 102 interfaced to a global internet 104. Connected to the LAN 102 are a plurality of clients 1061-106n (hereinafter collectively referred to as “clients 106”) that request data (e.g., content) from the internet 104.
When a client 106 requests content from the internet 104, it does so by requesting a specific domain name of a server on the network 100 (e.g., by entering the domain name in a web browser). A DNS server then identifies a corresponding IP address, enabling the client 106 to connect to the appropriate server. Typically, DNS systems comprise a hierarchy of DNS servers, the bottom level of which is a zone's name server 110. If the name server 110 does not know the IP address of the requested domain name, the name server 110 directs the client to the next server higher in the DNS hierarchy. The process continues through the hierarchy until a server that can convert the domain name to the corresponding IP address is contacted. Some clients 106 may contain a local, self-serving DNS server integrated with the client, while some networks 102 may possess a local DNS server 108. If either of these is used, they receive the DNS request before it is sent to the name server.
To expedite the process of converting domain names, some existing systems include a DNS pre-fetch mechanism (e.g., within web browsers and proxies) that recognizes domain names when hypertext markup language (HTML) is rendered. Each recognized domain name's DNS entry is then pre-fetched, or placed in the local DNS server 108, which later reduces the time necessary to connect to the host corresponding to the domain name. A drawback of such processes, however, is that they only work for a single application protocol (i.e., HTTP), and they require client-side software modifications, which prevents sharing of pre-fetched entries among multiple clients.
Thus, there is a need in the art for a method and apparatus for DNS pre-fetching for multiple clients.